An important part of the development of any database server-side object, such as stored procedures, user-defined functions, methods, triggers, or any other type of objects running at the database server. The developer codes the object, builds it at the database server, and tests the execution of the object by performing a test run. For simple objects, the test run includes passing input parameter values to the object, executing the object, and obtaining a result. However, in most cases, the objects are more complicated and require setup in order to more accurately simulate the production environment in which the object will ultimately be executed. The environment to be setup can range from the simple to the complex. For complex environments, the setup could include setting up test data, creating other database artifacts such as regular or temporary tables, setting up database environment properties, such as current schema, function path, etc. Once the environment is set up, the developer can perform the test run and pass input parameters values to the object. At the completion of the test run, the environment typically needs to be destroyed. Sometimes, the developer codes additional procedures or functions for the purpose of setting up or destroying the environment. The developer will likely need to perform multiple test runs in the course of the development of the object.
However, with current development tools, for each test run performed, the developer must manually set up the test environment, manually pass the input parameter values to the object to be tested, and manually destroy the test environment. If additional procedures or functions were coded to set up or destroy the environment, these procedures or functions must be recoded each time a test run is performed. This is cumbersome and time consuming for the developer and negatively impacts the efficiency of the development process.
Accordingly, there exists a need for an improved method and system for providing a test environment for database server-side objects. The present invention addresses such a need.